#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int arr[512][512], t[512][512];

int fun(int x0, int x1, int y0, int y1, int z)
{
    int i, j, p, ti, tj;
    if (z)
    {
        for (j = y1 - 1, ti = x0; j >= y0; j--, ti++)
        {
            for (i = x0, tj = y0; i < x1; i++, tj++)
            {
                t[ti][tj] = arr[i][j];
            }
        }
    }
    else
    {
        for (j = y0, ti = x0; j < y1; j++, ti++)
        {
            for (i = x1 - 1, tj = y0; i >= x0; i--, tj++)
            {
                t[ti][tj] = arr[i][j];
            }
        }
    }
    for (i = x0; i < x1; i++)
    {
        for (j = y0; j < y1; j++)
        {
            arr[i][j] = t[i][j];
        }
    }
}

int main(int argc, char const *argv[])
{
    int i, j, n, m, x, y, r, z;
    cin >> n >> m;
    for (i = 0; i < n; i++)
    {
        for (j = 1; j <= n; j++)
        {
            arr[i][j - 1] = i * n + j;
        }
    }
    for (i = 0; i < m; i++)
    {
        cin >> x >> y >> r >> z;
        fun(x - 1 - r, x + r, y - 1 - r, y + r, z);
    }
    
    for (i = 0; i < n; i++)
    {
        if (i) cout << "\n";
        for (j = 0; j < n; j++)
        {
            cout << arr[i][j] << " ";
        }
    }
    
    return 0;
}
